package com.dds.system.domain.app;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.dds.common.annotation.Excel;
import com.dds.common.core.domain.BaseEntity;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * 广告对象 app_adv
 * 
 * @author gaolianjie
 * @date 2021-04-09
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor(staticName = "of", force = true)
public class AppAdv extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 广告管理表主键 */
    private Long advId;

    /** 广告名称 */
    @Excel(name = "广告名称")
    private String advName;

    /** 广告描述 */
    @Excel(name = "广告描述")
    private String advDesc;

    /** 广告图片 */
    @Excel(name = "广告图片")
    private String advImg;

    /** 广告跳转链接 */
    @Excel(name = "广告跳转链接")
    private String advLink;

    /** 广告跳转类型（枚举0:没有跳转、1:url跳转、2:商品跳转 3:服务跳转） */
    @Excel(name = "广告跳转类型", readConverterExp = "枚=举0:没有跳转、1:url跳转、2:商品跳转,3=:服务跳转")
    private Integer advLinkType;

    /** 广告所在位置（枚举类型 : startPageAd:启动页广告位,homePageAd:首页插屏广告位,homeBannerAd:首页横幅广告位） */
    @Excel(name = "广告所在位置", readConverterExp = "枚=举类型,:=,s=tartPageAd:启动页广告位, homePageAd:首页插屏广告位, homeBannerAd:首页横幅广告位")
    private String advPositionSign;

    /** 广告展示开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "广告展示开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date advStartDate;

    /** 广告展示结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "广告展示结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date advEndDate;

    /** 广告价格 */
    @Excel(name = "广告价格")
    private BigDecimal advPrice;

    /** 广告计费类型（枚举0:美肤计内部广告、1:点击量计费、2:时间计费） */
    @Excel(name = "广告计费类型", readConverterExp = "枚=举0:美肤计内部广告、1:点击量计费、2:时间计费")
    private Integer advChargingType;

    /** 广告最大点击数 */
    @Excel(name = "广告最大点击数")
    private Long advMaxClick;

    /** 排序 */
    @Excel(name = "排序")
    private Integer sort;

    /** 是否展示 */
    @Excel(name = "是否展示")
    private Integer isShow;

    /** 创建人 */
    @Excel(name = "创建人")
    private Long createUser;

    /** 修改人 */
    @Excel(name = "修改人")
    private Long updateUser;
}
